package com.zx._05_代理.staticProxy;

/**
 * 运行静态代理的实现类
 */
public class ProxyImplement implements InterfaceA {

    private InterfaceA interfaceA;

    public ProxyImplement() {
        // 这个地方已经写死了 interfaceA 引用的是RealImplement的实现类。所以说这个是静态代理
        // 动态代理也是在类似这个地方改写的
        this.interfaceA = new RealImplement();
    }


    @Override
    public void exec() {
        System.out.println("dosomethings before");
        //实际调用
        interfaceA.exec();
        System.out.println("dosomethings after");
    }
}
